package com.omi.iberolactalpreventa;

import java.util.Calendar;
import java.util.GregorianCalendar;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Intent;
import android.database.Cursor;
import android.os.Build;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.DatePicker;
import android.widget.ListView;
import android.widget.Spinner;
import android.widget.TextView;

public class Inicio extends Activity{

	private TextView lblFecha;
	private ListView lstFecha;
	private Spinner cmbVendedor;
	private Spinner cmbRuta;
	
	@TargetApi(Build.VERSION_CODES.HONEYCOMB)
	@SuppressLint("NewApi")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_inicio);
		
		getActionBar().setDisplayHomeAsUpEnabled(true);
		
		lblFecha = (TextView)findViewById(R.id.lblFecha);
		lstFecha = (ListView)findViewById(R.id.lstFechaVisitas);
		cmbVendedor = (Spinner)findViewById(R.id.cmbVendedor);
		cmbRuta = (Spinner)findViewById(R.id.cmbRuta);

		inicializarFormulario();
		}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.inicio,menu);
		return true;
	}
	
	@Override
	public void onBackPressed() {
		finish();
	}
	
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		 if (item.getItemId() == android.R.id.home) {
		        finish();
		        return true;
		    }
	    switch (item.getItemId()) {
	    case R.id.btnMenuAceptar:
	    
	    	Intent intPantCliePeds = new Intent("com.omi.iberolactalpreventa.Sel_Accion");
	    	//Guardamos el vendedor y la ruta:
	    	Cursor c = Modulebase.db.ejecutarSelect(new String[]{"Codigo"}, "VENDEDOR", "NOMBRE=?", new String[]{cmbVendedor.getSelectedItem().toString()});
	    	if(c!=null && c.moveToFirst())
	    	{
	    		Modulebase.vendedor=c.getString(0);
	    	}

	        c = Modulebase.db.ejecutarSelect(new String[]{"Cod_Ruta"}, "Ruta", "Descripcion=?", new String[]{cmbRuta.getSelectedItem().toString()});
	    	if(c!=null && c.moveToFirst())
	    	{
	    	Modulebase.ruta = c.getString(0);
	    	}
	    	startActivity(intPantCliePeds);
	    	break;
	    }
	    return false;
	}
	
	private void inicializarFormulario()
	{
		//Evento para mostrar el datepicker:
				lstFecha.setOnItemClickListener(new OnItemClickListener() {
					 @SuppressWarnings("deprecation")
					public void onItemClick(AdapterView<?> parent, View view,
				                int position, long id) {
							showDialog(100);
							}
				});
				
				
				//Sacamos la lista de vendedores para añadir al combo
				Cursor cVendedores = Modulebase.db.ejecutarSelect(new String[]{"NOMBRE"}, "VENDEDOR", null, null,"NOMBRE");
				
				if(cVendedores!=null && cVendedores.moveToFirst())
				{
					//Contamos las filas para meter los elementos en el array:
					String[] vendedoresc = new String[cVendedores.getCount()];
					int i=0;
					do
					{
						vendedoresc[i]=cVendedores.getString(0);
						i++;
					}while(cVendedores.moveToNext());
					
				ArrayAdapter<String> arrvendedores = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item,vendedoresc);
				
				cmbVendedor.setAdapter(arrvendedores);
				}
				
				//Sacamos la lista de rutas:
				Cursor cRutas = Modulebase.db.ejecutarSelect(new String[]{"DESCRIPCION"}, "RUTA", null, null,"DESCRIPCION");
				
				if(cRutas!=null && cRutas.moveToFirst())
				{
					String[] rutasc = new String[cRutas.getCount()+1];
					rutasc[0] = "";
					int i=1;
					do
					{
						rutasc[i] = cRutas.getString(0);
						i++;
					}while(cRutas.moveToNext());
					//Rellenamos el combo:
					ArrayAdapter<String> arrRutas = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, rutasc);
					cmbRuta.setAdapter(arrRutas);
				}
				
				//Inicializamos las fechas:
				lstFecha.setAdapter(Modulebase.inicializarFecha());
				lblFecha.setText(lstFecha.getItemAtPosition(0).toString());
	}
	
	@Override
	@Deprecated
	protected Dialog onCreateDialog(int id) {
		  return new DatePickerDialog(this, datepickerListenner, Modulebase.calendar.get(Calendar.YEAR),Modulebase.calendar.get(Calendar.MONTH),Modulebase.calendar.get(Calendar.DAY_OF_MONTH));
	}
	
	DatePickerDialog.OnDateSetListener datepickerListenner = new DatePickerDialog.OnDateSetListener() {
		@Override
		public void onDateSet(DatePicker view, int year, int monthOfYear,
				int dayOfMonth) {
			Modulebase.calendar = new GregorianCalendar(year, monthOfYear, dayOfMonth);
			lstFecha.setAdapter(Modulebase.inicializarFecha());
			lblFecha.setText(lstFecha.getItemAtPosition(0).toString());
		}
	};	
	

}
